package com.ctshk.rpc.scenic.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.rpc.scenic.dto.TicketTypeLuckDrawDTO;
import com.ctshk.rpc.scenic.dto.TicketTypeLuckDrawNumDTO;
import com.ctshk.rpc.scenic.req.CheckDuplicateReq;
import com.ctshk.rpc.scenic.req.TicketLuckDrawApplyUserInfoReq;
import com.ctshk.rpc.scenic.req.TicketTypeLuckDrawExcel;
import com.ctshk.rpc.scenic.req.TicketTypeLuckDrawReq;

import java.util.List;

/**
 * <p>
 * 门票抽奖种类表 服务类
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-02-18
 */
public interface ITicketTypeLuckDrawService {

    void upload(byte[] pic);

    PageResponse<TicketTypeLuckDrawDTO> listAll();

    Result<PageResponse<TicketTypeLuckDrawDTO>> queryCondition(TicketTypeLuckDrawReq ticket);

    Result saveTicket(TicketLuckDrawApplyUserInfoReq userInfoReq);

    void saveTicket(List<TicketTypeLuckDrawExcel> ticketTypeList);

    List<TicketTypeLuckDrawNumDTO> selectTicketByQueryNumber(String queryNumber);

    List<TicketTypeLuckDrawDTO> selectTicketTypeLuckDrawList();

    List<TicketTypeLuckDrawDTO> queryTicketTypeLuckDrawByIds(List<String> ids);

    Result checkDuplicate(CheckDuplicateReq checkDuplicateReq);

    Result checkCacheSession(String uuid);

    Result drawTicket(Long loginId);
}
